package com.csthink.web.application.service;

import com.csthink.mysql.entity.User;
import com.csthink.web.application.dto.test.PassportLoginRequest;
import com.csthink.web.application.dto.test.UserLoginResultBO;

import java.util.List;

/**
 * @author <a href="mailto:security.2009@live.cn">Mars</a>
 * @since 2023-09-10
 */
public interface UserService {

    User saveUser(User user);

    void deleteByAccountId(String accountId);

    void deleteByIds(List<String> userIdList);

    int updateByUserId(User user);

    List<User> loadByUserIds(List<String> userIdList);

    User getById(String userId);

    UserLoginResultBO login(PassportLoginRequest request);

    User loadByUsername(String username);
}
